home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 11 / CU Amiga Magazine's Super CD-ROM 11 (1997)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1997-06].iso / s / groupcopyboxattr.pprx < prev    next >
Text File  |  1992-03-14  |  2KB  |  109 lines

  1. /*
  2. @BGroupCopyBoxAttr  @P@ICopyright Gold Disk Inc., February, 1992
  3.  
  4. This Genie will copy the attributes of any box to all boxes in the current group.
  5. */
  6. parse arg source
  7.  
  8. cr  = '0a'x
  9. call SafeEndEdit.rexx()
  10. call ppm_AutoUpdate(0)
  11.  
  12. box = ppm_GroupFirstBox()
  13. if box = 0 then exit_msg("Select a group first..")
  14.  
  15. if source = '' then
  16. do
  17.  
  18.     source  = ppm_ClickOnBox("Click on box which has attributes to be copied..")
  19.     if source = 0 then exit_msg()
  20.  
  21.    call ppm_SelectBox(source)
  22.  
  23. end
  24.  
  25. attributes = "Frame"cr"FrameData"cr"Offset"cr"Angle"cr"TextWrap"cr"Hide"cr"Lock"cr"Standoff"cr"Margins"cr"Transparent"cr"Scale"cr"Tabs"cr"Size"cr"Position"
  26.  
  27. attributes = ppm_SelectFromList("Select attributes to copy..", 30, 5, 1, attributes)
  28. if attributes = '' then exit_msg()
  29.  
  30. copy = attributes
  31.  
  32. counter = 0
  33.  
  34. do while copy ~= ''
  35.  
  36.     parse var copy itemname '0a'x copy
  37.  
  38.     interpret itemname" = ppm_GetBox"itemname"(source)"
  39.  
  40.     if itemname = "Tabs" then
  41.         istring = "call SetBoxTabs(box, '"Tabs"')"
  42.     else if itemname = "FrameData" then
  43.     do
  44.          parse var FrameData fcolor '0a'x lcolor '0a'x lwght '0a'x lpat '0a'x fpat '0a'x
  45.          istring = "call  ppm_SetBoxFrameData(box, fcolor, lcolor, lwght, lpat, fpat)"
  46.     end
  47.     else
  48.        istring = "call ppm_SetBox"itemname"(box, " || separate(value(itemname)) || ")"
  49.  
  50.       counter = counter + 1
  51.       strings.counter = istring
  52. end
  53.  
  54. call ppm_ShowStatus("Working..")
  55.  
  56.  
  57. do while box ~= 0
  58.  
  59.     copy    = attributes
  60.  
  61.     do i = 1 to counter
  62.  
  63.          interpret strings.i
  64.  
  65.     end
  66.  
  67.     box = ppm_GroupNextBox(box)
  68.  
  69. end
  70.  
  71. exit_msg()
  72.  
  73. separate: procedure
  74. do
  75.     parse arg string
  76.  
  77.     output = ''
  78.  
  79.     wrds    = words(string)
  80.     if wrds = 1 then return(string)
  81.  
  82.     do i = 1 to wrds - 1
  83.  
  84.         wrd = word(string, i)
  85.  
  86.         if datatype(wrd, n) then 
  87.             output = output||wrd","
  88.         else
  89.             output = output"'"word(string, i)"', "
  90.  
  91.     end
  92.  
  93.     output = output || word(string, wrds)
  94.  
  95.     return(output)
  96.  
  97. end
  98.  
  99.  
  100. exit_msg: procedure
  101. do
  102.     parse arg message
  103.  
  104.     if message ~= '' then call ppm_Inform(1,message,)
  105.     call ppm_AutoUpdate(1)
  106.     call ppm_ClearStatus()
  107.     exit
  108. end
  109.